package com.imooc.servlet.direct;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * 测试请求转发和重定向
 * 请求转发方法：request.getRequestDispatcher(要转向的URL映射地址)
 * 响应重定向方法：response.sendRedirect("/工程名字/要跳转的url映射地址")
 * 区别：请求转发是tomcat服务器内跳转，只产生一次请求，地址栏的URL地址不变
 * 		 响应重定向是在浏览器发动了两次请求，地址栏中的URL会变为要转向的映射地址
 */

@WebServlet("/direct/check")
public class CheckLoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
  
    public CheckLoginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("用户登录成功");
		
		//设置请求传递属性：request.setAttribute(属性名（必须是字符串），属性值（任何有效的java对象）)
		request.setAttribute("username", "admin");
		//实现请求转发功能，用request.getRequestDispatcher(要转向的URL映射地址)
		request.getRequestDispatcher("/direct/index").forward(request, response);
		//重定向时，浏览器中的地址栏url不会发生变化
		
		//响应重定向的URL映射地址需要增加工程名字，
		//方法：response.sendRedirect("/工程名字/要跳转的url映射地址")
		//response.sendRedirect("/servlet_advanced/direct/index");
		//重定向时，浏览器中的地址栏url会变化为要转向的映射地址
		
	} 

}
